package gui;

import be.VisitaProgramada;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.StringItem;
import midlet.MidletCielsa;
import recursos.PropiedadesConexion;
import recursos.PropiedadesParametros;
import rms.SesionRMS;
import soa.SWGrabar;
import util.CommandBuilder;

/**
 *
 * @author Dikas
 */
public class FrmConfirmarRegistro extends Form implements CommandListener {

    private MidletCielsa midlet;
    private Displayable previousDisplayable;
    private Command cmdAtras;
    private Command cmdOk;
    private Command cmdImprimir;
    private StringItem strReporte;
    private StringItem strInformacionCliente;
    private StringItem strNombreCliente;
    private StringItem strDireccioCliente;
    private StringItem strInformacionMedidor;
    private StringItem strSuministro;
    private StringItem strTipo;
    private StringItem strNumeroSerie;
    private StringItem strAno;
    private StringItem strInformacionContraste;
    private StringItem strApreciacion;
    private StringItem strLectura;
    private StringItem strVoltaje;
    private StringItem strNumeroPrecinto;
    private StringItem strPruebaVacio;
    private StringItem strComentario;
    private StringItem strEnsayos;
    private StringItem strPrueba5;
    private StringItem strPrueba10;
    private StringItem strPrueba100;
    private StringItem strPruebaImax;
    private VisitaProgramada visitaProgramada;
    private int posRMS;

    public FrmConfirmarRegistro(MidletCielsa midlet, Displayable previousdisplay, VisitaProgramada vp, int posRMS) {
        super("Confirmar ");
        this.visitaProgramada = vp;
        this.posRMS = posRMS;
        strReporte = new StringItem("N°Reporte:", vp.getReporte());
        strInformacionCliente = new StringItem("Informacion del Cliente", "");
        strNombreCliente = new StringItem("Nombre:", vp.getCliente());
        strDireccioCliente = new StringItem("Dirección:", vp.getCliente_direccion());
        strInformacionMedidor = new StringItem("Información del Medidor", "");
        strSuministro = new StringItem("Suministro:", vp.getMedidor_suministro());
        strTipo = new StringItem("Tipo:", vp.getMedidor_tipo());
        strNumeroSerie = new StringItem("Numero de Serie:", vp.getMedidor_serie());
        strAno = new StringItem("Año:", vp.getMedidor_ano());
        strInformacionContraste = new StringItem("Información del Contraste", "");
        strApreciacion = new StringItem("Apreciación:", vp.getApreciacion());
        strLectura = new StringItem("Lectura:", vp.getLectura());
        strVoltaje = new StringItem("Voltaje:", vp.getVoltaje());
        strNumeroPrecinto = new StringItem("Numero de precinto:", vp.getVoltaje());
        strPruebaVacio = new StringItem("Prueba de vacio:", vp.getPruebaVacio());
        strComentario = new StringItem("Comentario:", vp.getComentario());
        strEnsayos = new StringItem("Ensayos", "");
        strPrueba5 = new StringItem("Prueba 5%:", vp.getPrueba5());
        strPrueba10 = new StringItem("Prueba 10%:", vp.getPrueba10());
        strPrueba100 = new StringItem("Prueba 100%:", vp.getPrueba100());
        strPruebaImax = new StringItem("Prueba iMax:", vp.getPruebaimax());
        cmdAtras = CommandBuilder.getBack();
        cmdOk = CommandBuilder.getOk();
        cmdImprimir = CommandBuilder.getImprimir();
        append(strReporte);
        append(strInformacionCliente);
        append(strNombreCliente);
        append(strDireccioCliente);
        append(strInformacionMedidor);
        append(strSuministro);
        append(strTipo);
        append(strNumeroSerie);
        append(strAno);
        append(strInformacionContraste);
        append(strApreciacion);
        append(strLectura);
        append(strVoltaje);
        append(strNumeroPrecinto);
        append(strPruebaVacio);
        append(strComentario);
        append(strEnsayos);
        append(strPrueba5);
        append(strPrueba10);
        append(strPrueba100);
        append(strPruebaImax);
        addCommand(cmdAtras);
        addCommand(cmdOk);
        addCommand(cmdImprimir);
        this.previousDisplayable = previousdisplay;
        this.midlet = midlet;
        setCommandListener(this);
    }

    public void commandAction(Command c, Displayable d) {
        if (c == cmdAtras) {
            midlet.setDisplay(previousDisplayable);
        } else if (c == cmdOk) {
            //Se leería del GPS
            String url = PropiedadesConexion.acceso_ws + "gescont.jsp";
            SesionRMS rms = new SesionRMS();
            String[][] entradas = null;
            if (strComentario.getText().trim().compareTo("") != 0
                    && strLectura.getText().trim().compareTo("") == 0
                    && strVoltaje.getText().trim().compareTo("") == 0
                    && strNumeroPrecinto.getText().trim().compareTo("") == 0
                    && strPrueba5.getText().trim().compareTo("") == 0
                    && strPrueba10.getText().trim().compareTo("") == 0
                    && strPrueba100.getText().trim().compareTo("") == 0
                    && strPruebaImax.getText().trim().compareTo("") == 0) {
                entradas = new String[7][2];
                entradas[0][0] = "rec";
                entradas[0][1] = PropiedadesParametros.recgrabar;
                entradas[1][0] = "userId";
                entradas[1][1] = "" + rms.getId();
                entradas[2][0] = "sid";
                entradas[2][1] = "" + rms.getSID();
                entradas[3][0] = "contId";
                entradas[3][1] = "" + visitaProgramada.getId_contraste();
                entradas[4][0] = "com";
                entradas[4][1] = visitaProgramada.getComentario();
                entradas[5][0] = "cordx";
                entradas[5][1] = "" + visitaProgramada.getLatitud();
                entradas[6][0] = "cordy";
                entradas[6][1] = "" + visitaProgramada.getLongitud();
            } else {
                entradas = new String[16][2];
                entradas[0][0] = "rec";
                entradas[0][1] = PropiedadesParametros.recgrabar;
                entradas[1][0] = "userId";
                entradas[1][1] = "" + rms.getId();
                entradas[2][0] = "sid";
                entradas[2][1] = "" + rms.getSID();
                entradas[3][0] = "contId";
                entradas[3][1] = "" + visitaProgramada.getId_contraste();
                entradas[4][0] = "aprec";
                entradas[4][1] = visitaProgramada.getApreciacion();
                entradas[5][0] = "lec";
                entradas[5][1] = visitaProgramada.getLectura();
                entradas[6][0] = "vol";
                entradas[6][1] = visitaProgramada.getVoltaje();
                entradas[7][0] = "prec";
                entradas[7][1] = visitaProgramada.getPrecinto();
                entradas[8][0] = "pruvac";
                entradas[8][1] = visitaProgramada.getPruebaVacio().substring(0, 1);
                entradas[9][0] = "com";
                entradas[9][1] = visitaProgramada.getComentario();
                entradas[10][0] = "cordx";
                entradas[10][1] = "" + visitaProgramada.getLatitud();
                entradas[11][0] = "cordy";
                entradas[11][1] = "" + visitaProgramada.getLongitud();
                entradas[12][0] = "ensayo5";
                entradas[12][1] = visitaProgramada.getPrueba5();
                entradas[13][0] = "ensayo10";
                entradas[13][1] = visitaProgramada.getPrueba10();
                entradas[14][0] = "ensayo100";
                entradas[14][1] = visitaProgramada.getPrueba100();
                entradas[15][0] = "ensayoimax";
                entradas[15][1] = visitaProgramada.getPruebaimax();
            }
            SWGrabar swg = new SWGrabar(url, entradas, midlet, previousDisplayable, visitaProgramada, posRMS);
            swg.start();
        } else if (c == cmdImprimir) {
            midlet.showInfo("No se encontró impresoras disponibles", this);
        }
    }
}
